package org.ecbox.android.sdk;

/**
 * ECBOX客户端。
 * 
 * File: EopClient.java<br/>
 * Description: <br/>
 * 
 * Copyright: Copyright (c) 2012 ecbox.com<br/>
 * Company: ECBOX,Inc.<br/>
 * 
 * @author chenxiaochun
 * @date 2013-4-22
 * @version 1.0
 */
public interface EopClient {

	/**
	 * 设置版本
	 * 
	 * @param v
	 */
	public void setVersion(String v);

	/**
	 * 执行TOP公开API请求。
	 * 
	 * @param <T>
	 * @param request
	 *            具体的TOP请求
	 * @return
	 * @throws ApiException
	 */
	public <T extends EopResponse> T execute(EopRequest<T> request) throws ApiException;

	/**
	 * 执行TOP隐私API请求。
	 * 
	 * @param <T>
	 * @param request
	 *            具体的TOP请求
	 * @param accessToken
	 *            用户会话授权码
	 * @return
	 * @throws ApiException
	 */
	public <T extends EopResponse> T execute(EopRequest<T> request, String accessToken) throws ApiException;
}
